package com.example.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 薪资实体类
 */
public class Salary implements Serializable {
    private static final long serialVersionUID = 1L;

    /** ID */
    private Integer id;
    /** 员工ID */
    private Integer employeeId;
    /** 基本工资 */
    private BigDecimal baseSalary;
    /** 绩效工资 */
    private BigDecimal performance;
    /** 奖金 */
    private BigDecimal bonus;
    /** 扣除金额 */
    private BigDecimal deduction;
    /** 实发工资 */
    private BigDecimal actualSalary;
    /** 工资月份(格式：yyyy-MM) */
    private String salaryMonth;
    /** 发放时间 */
    private Date paymentDate;
    /** 发放状态(PENDING/PAID) */
    private String status;
    
    /** 员工姓名（非数据库字段，用于前端显示） */
    private String employeeName;
    /** 部门名称（非数据库字段，用于前端显示） */
    private String departmentName;
    /** 职位名称（非数据库字段，用于前端显示） */
    private String positionName;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Integer employeeId) {
        this.employeeId = employeeId;
    }

    public BigDecimal getBaseSalary() {
        return baseSalary;
    }

    public void setBaseSalary(BigDecimal baseSalary) {
        this.baseSalary = baseSalary;
    }

    public BigDecimal getPerformance() {
        return performance;
    }

    public void setPerformance(BigDecimal performance) {
        this.performance = performance;
    }

    public BigDecimal getBonus() {
        return bonus;
    }

    public void setBonus(BigDecimal bonus) {
        this.bonus = bonus;
    }

    public BigDecimal getDeduction() {
        return deduction;
    }

    public void setDeduction(BigDecimal deduction) {
        this.deduction = deduction;
    }

    public BigDecimal getActualSalary() {
        return actualSalary;
    }

    public void setActualSalary(BigDecimal actualSalary) {
        this.actualSalary = actualSalary;
    }

    public String getSalaryMonth() {
        return salaryMonth;
    }

    public void setSalaryMonth(String salaryMonth) {
        this.salaryMonth = salaryMonth;
    }

    public Date getPaymentDate() {
        return paymentDate;
    }

    public void setPaymentDate(Date paymentDate) {
        this.paymentDate = paymentDate;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getEmployeeName() {
        return employeeName;
    }

    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public String getPositionName() {
        return positionName;
    }

    public void setPositionName(String positionName) {
        this.positionName = positionName;
    }
}